home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume27 / gnuplot3 / patch01 next >
Encoding:
Text File  |  1992-01-17  |  61.0 KB  |  1,977 lines

  1. Newsgroups: comp.sources.misc
  2. From: gershon%gr@cs.utah.edu (Elber Gershon)
  3. Subject:  v27i088:  gnuplot3 - interactive function plotting utility, Patch01
  4. Message-ID: <1992Jan18.034514.6828@sparky.imd.sterling.com>
  5. X-Md4-Signature: 9bf8608a64d38e76b9753eceb82df8f6
  6. Date: Sat, 18 Jan 1992 03:45:14 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: gershon%gr@cs.utah.edu (Elber Gershon)
  10. Posting-number: Volume 27, Issue 88
  11. Archive-name: gnuplot3/patch01
  12. Environment: UNIX, MS-DOS, VMS
  13. Patch-To: gnuplot3: Volume 24, Issue 23-48
  14.  
  15. Below is the official patch1 for gnuplot 3.0 (which makes it 3.1)
  16. Gnuplot 3.0 appeared in volume 24 of comp.sources.misc several months ago.
  17.  
  18.  What is Gnuplot 3.1?
  19.  --------------------
  20.  
  21. Gnuplot is a command-line driven interactive function plotting utility
  22. for UNIX, MSDOS, and VMS platforms.  The software is copyrighted but
  23. freely distributed (i.e., you don't have to pay for it).  It was
  24. originally intended as graphical program which would allow scientists
  25. and students to visualize mathematical functions and data.  Additions
  26. to this version of the software allow plots of three-dimensional
  27. functions and data files.  Gnuplot supports many different types of
  28. terminals, plotters, and printers and is easily extensible to include
  29. new devices.  [ The "GNU" in Gnuplot is NOT related to the Free
  30. Software Foundation, the naming is just a coincidence (and a long
  31. story). Thus gnuplot is not covered by the Gnu copyleft, but rather
  32. by its own copyright statement, included in all source code files.]
  33.  
  34. Gershon
  35. -----------------
  36. #!/bin/sh
  37. # This is a shell archive (produced by shar 3.49)
  38. # To extract the files from this archive, save it to a file, remove
  39. # everything above the "!/bin/sh" line above, and type "sh file_name".
  40. #
  41. # made 01/05/1992 17:14 UTC by gershon@gr.utah.edu
  42. # Source directory /n/lotus/u/grad/gershon/gp/dist
  43. #
  44. # existing files will NOT be overwritten unless -c is specified
  45. #
  46. # This shar contains:
  47. # length  mode       name
  48. # ------ ---------- ------------------------------------------
  49. #   1104 -rw-r--r-- README.patch1
  50. #  48527 -rw-r--r-- diffs.patch1
  51. #   7407 -rw-r--r-- term/ai.trm
  52. #
  53. # ============= README.patch1 ==============
  54. if test -f 'README.patch1' -a X"$1" != X"-c"; then
  55.     echo 'x - skipping README.patch1 (File already exists)'
  56. else
  57. echo 'x - extracting README.patch1 (Text)'
  58. sed 's/^X//' << 'SHAR_EOF' > 'README.patch1' &&
  59. XThis package provides the upgrade of gnuplot 3.0 to patch level 1.
  60. XBelow are the contributers to this upgrade and the modifications made.
  61. X
  62. XThank you all
  63. X
  64. XGershon
  65. X
  66. X----------------------------------------------------------------------------
  67. X
  68. X* Subject: Y log / postscript eps fix
  69. X  Name: Russell Lang
  70. X  Email: rjl@monu1.cc.monash.edu.au
  71. X
  72. X* Subject: HP26 driver to lift text.
  73. X  Name: Bruce Lueckenhoff
  74. X  Email: luechen@cis.udel.edu
  75. X
  76. X* Subject: CRAY prt, UIUC coordinates.
  77. X  Name: Daniel Lewart
  78. X  Email: d-lewart@uiuc.edu
  79. X
  80. X* Subject: AI device
  81. X  Name:    Ray Ghanbari
  82. X  Email: ray@mtl.mit.edu
  83. X
  84. X* Subject: HP_MOTIF on a Snake, X11 for Next
  85. X  Name: Alex Woo
  86. X  Email: woo@ra-next.arc.nasa.gov
  87. X
  88. X* Subject: Mod. to LaTeX for multiple curves/plots, complex atan function fix.
  89. X  Name: Ray Toy???
  90. X  Email: toy@soho.crd.ge.com
  91. X
  92. X* Subject: Fix the "splot 'file.dat'" with only z values.
  93. X  Name: Gershon Elber
  94. X  Email: gershon@gr.utah.edu
  95. X
  96. X* Subject: Underscore prefixed names.
  97. X  Name: Tom Tkacik
  98. X  Email: tkacik@hobbes.cs.gmr.com
  99. X
  100. X* Subject: Amiga port
  101. X  Name: Carsten Steger 
  102. X  Email: stegerc@informatik.tu-muenchen.de
  103. SHAR_EOF
  104. chmod 0644 README.patch1 ||
  105. echo 'restore of README.patch1 failed'
  106. Wc_c="`wc -c < 'README.patch1'`"
  107. test 1104 -eq "$Wc_c" ||
  108.     echo 'README.patch1: original size 1104, current size' "$Wc_c"
  109. fi
  110. # ============= diffs.patch1 ==============
  111. if test -f 'diffs.patch1' -a X"$1" != X"-c"; then
  112.     echo 'x - skipping diffs.patch1 (File already exists)'
  113. else
  114. echo 'x - extracting diffs.patch1 (Text)'
  115. sed 's/^X//' << 'SHAR_EOF' > 'diffs.patch1' &&
  116. Xdiff -c -r ./Copyright ../gnuplot3p1/Copyright
  117. X*** ./Copyright    Mon Jun  3 17:25:56 1991
  118. X--- ../gnuplot3p1/Copyright    Fri Dec 20 12:52:20 1991
  119. X***************
  120. X*** 1,5 ****
  121. X  /*
  122. X!  * Copyright (C) 1986, 1987, 1990   Thomas Williams, Colin Kelley
  123. X   *
  124. X   * Permission to use, copy, and distribute this software and its
  125. X   * documentation for any purpose with or without fee is hereby granted, 
  126. X--- 1,5 ----
  127. X  /*
  128. X!  * Copyright (C) 1986, 1987, 1990, 1991   Thomas Williams, Colin Kelley
  129. X   *
  130. X   * Permission to use, copy, and distribute this software and its
  131. X   * documentation for any purpose with or without fee is hereby granted, 
  132. X***************
  133. X*** 11,17 ****
  134. X   * distribute the modified code.  Modifications are to be distributed 
  135. X   * as patches to released version.
  136. X   *  
  137. X!  * This software  is provided "as is" without express or implied warranty.
  138. X   * 
  139. X   *
  140. X   * AUTHORS
  141. X--- 11,17 ----
  142. X   * distribute the modified code.  Modifications are to be distributed 
  143. X   * as patches to released version.
  144. X   *  
  145. X!  * This software is provided "as is" without express or implied warranty.
  146. X   * 
  147. X   *
  148. X   * AUTHORS
  149. X***************
  150. X*** 21,27 ****
  151. X   * 
  152. X   *   Gnuplot 2.0 additions:
  153. X   *       Russell Lang, Dave Kotz, John Campbell.
  154. X   * 
  155. X!  * send your comments or suggestions to (pixar!info-gnuplot@sun.com).
  156. X!  * 
  157. X   */
  158. X--- 21,35 ----
  159. X   * 
  160. X   *   Gnuplot 2.0 additions:
  161. X   *       Russell Lang, Dave Kotz, John Campbell.
  162. X+  *
  163. X+  *   Gnuplot 3.0 additions:
  164. X+  *       Gershon Elber and many others.
  165. X   * 
  166. X!  * Send your comments or suggestions to 
  167. X!  *  pixar!info-gnuplot@sun.com.
  168. X!  * This is a mailing list; to join it send a note to 
  169. X!  *  pixar!info-gnuplot-request@sun.com.  
  170. X!  * Send bug reports to
  171. X!  *  pixar!bug-gnuplot@sun.com.
  172. X   */
  173. X+ 
  174. Xdiff -c -r ./README.Install ../gnuplot3p1/README.Install
  175. X*** ./README.Install    Tue Sep 24 10:14:36 1991
  176. X--- ../gnuplot3p1/README.Install    Sun Dec  1 14:47:25 1991
  177. X***************
  178. X*** 195,197 ****
  179. X--- 195,201 ----
  180. X  
  181. X  The VMS version looks for the logical name GNUPLOT$HELP to locate 
  182. X  the help library.
  183. X+ 
  184. X+ The CGI drivers need the CGIPATH environment variable to set the path
  185. X+ to the CGI agents, and the CGIDISP and/or CGIPRNT environment
  186. X+ variables to set the output devices.
  187. Xdiff -c -r ./command.c ../gnuplot3p1/command.c
  188. X*** ./command.c    Tue Sep 24 09:51:22 1991
  189. X--- ../gnuplot3p1/command.c    Sun Dec  1 14:47:28 1991
  190. X***************
  191. X*** 633,641 ****
  192. X          if (!END_OF_COMMAND && !isstring(c_token)) {
  193. X              struct value a;
  194. X              ycol = (int)magnitude(const_express(&a));
  195. X              if (equals(c_token,":")) {
  196. X                  c_token++;      /* skip ":" */
  197. X-                 xcol = ycol;
  198. X                  ycol = (int)magnitude(const_express(&a));
  199. X                  if (equals(c_token,":")) {
  200. X                      c_token++;      /* skip ":" */
  201. X--- 633,641 ----
  202. X          if (!END_OF_COMMAND && !isstring(c_token)) {
  203. X              struct value a;
  204. X              ycol = (int)magnitude(const_express(&a));
  205. X+             xcol = ycol;
  206. X              if (equals(c_token,":")) {
  207. X                  c_token++;      /* skip ":" */
  208. X                  ycol = (int)magnitude(const_express(&a));
  209. X                  if (equals(c_token,":")) {
  210. X                      c_token++;      /* skip ":" */
  211. X***************
  212. X*** 869,884 ****
  213. X      for (i = 0; i < npoints; i++) {
  214. X         cp = &(curve->points[i]);
  215. X         if (cp->type == INRANGE) {
  216. X!           y = cp->y;
  217. X            if ((autoscale_ly ||
  218. X!                inrange(log_y ? pow(10.0, y) : y, ymin, ymax) ||
  219. X                 polar)) {
  220. X               if (autoscale_ly) {
  221. X                  if (y < ymin) ymin = y;
  222. X                  if (y > ymax) ymax = y;
  223. X                  if (ebars) {
  224. X!                     ylow = cp->ylow;
  225. X!                     yhigh = cp->yhigh;
  226. X                      if (ylow < ymin) ymin = ylow;
  227. X                      if (ylow > ymax) ymax = ylow;
  228. X                      if (yhigh < ymin) ymin = yhigh;
  229. X--- 869,884 ----
  230. X      for (i = 0; i < npoints; i++) {
  231. X         cp = &(curve->points[i]);
  232. X         if (cp->type == INRANGE) {
  233. X!           y = log_y ? pow(10.0,cp->y) : cp->y;
  234. X            if ((autoscale_ly ||
  235. X!                inrange(y, ymin, ymax) ||
  236. X                 polar)) {
  237. X               if (autoscale_ly) {
  238. X                  if (y < ymin) ymin = y;
  239. X                  if (y > ymax) ymax = y;
  240. X                  if (ebars) {
  241. X!                     ylow =  log_y ? pow(10.0,cp->ylow)  : cp->ylow;
  242. X!                     yhigh = log_y ? pow(10.0,cp->yhigh) : cp->yhigh;
  243. X                      if (ylow < ymin) ymin = ylow;
  244. X                      if (ylow > ymax) ymax = ylow;
  245. X                      if (yhigh < ymin) ymin = yhigh;
  246. X***************
  247. X*** 950,955 ****
  248. X--- 950,959 ----
  249. X              quotel_str(format, c_token);
  250. X              c_token++;    /* skip format */
  251. X          }
  252. X+     }
  253. X+     else {
  254. X+         if ( only_z = !parametric )
  255. X+         zcol = 1;
  256. X      }
  257. X  
  258. X      switch (mapping3d) {
  259. Xdiff -c -r ./contour.c ../gnuplot3p1/contour.c
  260. X*** ./contour.c    Thu Jul 18 13:55:52 1991
  261. X--- ../gnuplot3p1/contour.c    Sun Dec  1 14:47:30 1991
  262. X***************
  263. X*** 63,68 ****
  264. X--- 63,71 ----
  265. X  #define abs(x)  ((x) > 0 ? (x) : (-(x)))
  266. X  #define sqr(x)  ((x) * (x))
  267. X  
  268. X+ #ifndef AMIGA_AC_5
  269. X+ extern double sqrt();
  270. X+ #endif /* not AMIGA_AC_5 */
  271. X  typedef double tri_diag[3];         /* Used to allocate the tri-diag matrix. */
  272. X  typedef double table_entry[4];           /* Cubic spline interpolation 4 coef. */
  273. X  
  274. XCommon subdirectories: ./demo and ../gnuplot3p1/demo
  275. XCommon subdirectories: ./docs and ../gnuplot3p1/docs
  276. Xdiff -c -r ./gnuplot.el ../gnuplot3p1/gnuplot.el
  277. X*** ./gnuplot.el    Mon Jun  3 17:25:58 1991
  278. X--- ../gnuplot3p1/gnuplot.el    Tue Dec 17 15:44:56 1991
  279. X***************
  280. X*** 13,23 ****
  281. X  ; between the editted file and the plotting program:
  282. X  ; 1. send-line-to-gnu-plot - sends a single line to the plotting program for
  283. X  ;    execution. The line sent is the line the cursor is on,
  284. X! ;    Bounded to Meta-E be default.
  285. X  ; 2. send-region-to-gnu-plot - sends the region from the current mark
  286. X  ;    (mark-marker) to current position (point-marker) to the plotting program.
  287. X  ;    This function is convenient for sending a large block of commands.
  288. X! ;    Bounded to Meta-R be default.
  289. X  ; Both functions checks for existance of a buffer named gnu-plot-program
  290. X  ; and a process named "gnu-plot" hooked to it, and will restart a new process
  291. X  ; or buffer if none exists. The program to execute as process "gnu-plot" is
  292. X--- 13,23 ----
  293. X  ; between the editted file and the plotting program:
  294. X  ; 1. send-line-to-gnu-plot - sends a single line to the plotting program for
  295. X  ;    execution. The line sent is the line the cursor is on,
  296. X! ;    Bounded to Meta-E by default.
  297. X  ; 2. send-region-to-gnu-plot - sends the region from the current mark
  298. X  ;    (mark-marker) to current position (point-marker) to the plotting program.
  299. X  ;    This function is convenient for sending a large block of commands.
  300. X! ;    Bounded to Meta-R by default.
  301. X  ; Both functions checks for existance of a buffer named gnu-plot-program
  302. X  ; and a process named "gnu-plot" hooked to it, and will restart a new process
  303. X  ; or buffer if none exists. The program to execute as process "gnu-plot" is
  304. X***************
  305. X*** 57,63 ****
  306. X  (defun send-line-to-gnu-plot ()
  307. X    "Sends one line of code from current buffer to the GNU-PLOT program.
  308. X  
  309. X! Use to execute a line in the GNU-PLOT plotting program. The line send is
  310. X  the line the cursor (point) is on.
  311. X  
  312. X  The GNU-PLOT plotting program buffer name is gnu-plot-program and the 
  313. X--- 57,63 ----
  314. X  (defun send-line-to-gnu-plot ()
  315. X    "Sends one line of code from current buffer to the GNU-PLOT program.
  316. X  
  317. X! Use to execute a line in the GNU-PLOT plotting program. The line sent is
  318. X  the line the cursor (point) is on.
  319. X  
  320. X  The GNU-PLOT plotting program buffer name is gnu-plot-program and the 
  321. X***************
  322. X*** 124,130 ****
  323. X  ;;; execute the program defined by gnu-plot-program.
  324. X  ;;;
  325. X  (defun make-gnu-plot-buffer ()
  326. X!   "Switch to iris-program buffer or create one if none exists"
  327. X    (interactive)
  328. X    (if (get-buffer "gnu-plot-program")
  329. X      (if (not (get-process "gnu-plot"))
  330. X--- 124,130 ----
  331. X  ;;; execute the program defined by gnu-plot-program.
  332. X  ;;;
  333. X  (defun make-gnu-plot-buffer ()
  334. X!   "Switch to gnu-plot-program buffer or create one if none exists"
  335. X    (interactive)
  336. X    (if (get-buffer "gnu-plot-program")
  337. X      (if (not (get-process "gnu-plot"))
  338. Xdiff -c -r ./help.c ../gnuplot3p1/help.c
  339. X*** ./help.c    Wed Jul 24 10:44:30 1991
  340. X--- ../gnuplot3p1/help.c    Sun Dec  1 14:47:26 1991
  341. X***************
  342. X*** 653,659 ****
  343. X      /* built-in dumb pager */
  344. X      /* leave room for prompt line */
  345. X      if (pagelines >= SCREENSIZE - 2) {
  346. X!        printf("Press return for more: ");
  347. X         do 
  348. X          c = getchar();
  349. X         while (c != EOF && c != '\n');
  350. X--- 653,659 ----
  351. X      /* built-in dumb pager */
  352. X      /* leave room for prompt line */
  353. X      if (pagelines >= SCREENSIZE - 2) {
  354. X!        fprintf(stderr,"Press return for more: ");
  355. X         do 
  356. X          c = getchar();
  357. X         while (c != EOF && c != '\n');
  358. Xdiff -c -r ./internal.c ../gnuplot3p1/internal.c
  359. X*** ./internal.c    Thu Aug 22 12:17:44 1991
  360. X--- ../gnuplot3p1/internal.c    Sun Dec  1 14:47:31 1991
  361. X***************
  362. X*** 54,59 ****
  363. X--- 54,60 ----
  364. X   * System V and MSC 4.0 call this when they wants to print an error message.
  365. X   * Don't!
  366. X   */
  367. X+ #ifndef _CRAY
  368. X  #ifdef MSDOS
  369. X  #ifdef __TURBOC__
  370. X  int matherr()    /* Turbo C */
  371. X***************
  372. X*** 76,81 ****
  373. X--- 77,83 ----
  374. X  {
  375. X      return (undefined = TRUE);        /* don't print error message */
  376. X  }
  377. X+ #endif /* not _CRAY */
  378. X  
  379. X  
  380. X  reset_stack()
  381. Xdiff -c -r ./makefile.unx ../gnuplot3p1/makefile.unx
  382. X*** ./makefile.unx    Tue Sep 24 10:25:08 1991
  383. X--- ../gnuplot3p1/makefile.unx    Sun Dec  1 15:40:43 1991
  384. X***************
  385. X*** 1,7 ****
  386. X  ############################################################
  387. X  #
  388. X  # GNUPLOT 3.0 Makefile (Unix X11 Motif/Athena support) for
  389. X! #  Apollo/Sun/Dec5000/IBMrs6000/HP9000/SGI/3B1/386IX
  390. X  #
  391. X  # Original version by:
  392. X  #   oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA)
  393. X--- 1,7 ----
  394. X  ############################################################
  395. X  #
  396. X  # GNUPLOT 3.0 Makefile (Unix X11 Motif/Athena support) for
  397. X! #  Apollo/Sun/Dec5000/IBMrs6000/HP9000/SGI/3B1/386IX/Cray
  398. X  #
  399. X  # Original version by:
  400. X  #   oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA)
  401. X***************
  402. X*** 203,209 ****
  403. X  APOLLO_FLAGS = \
  404. X             CFLAGS="$(COPTS) $(OPTIONS)  -DGAMMA=lgamma" \
  405. X             LIBS="$(LIBS)" X11FLAGS="$(X11FLAGS)" \
  406. X!            X11INCLUDES="-I/usr/include/X11" \
  407. X             X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lX11" \
  408. X             PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  409. X             X11INSTALL="$(X11INSTALL)" \
  410. X--- 203,209 ----
  411. X  APOLLO_FLAGS = \
  412. X             CFLAGS="$(COPTS) $(OPTIONS)  -DGAMMA=lgamma" \
  413. X             LIBS="$(LIBS)" X11FLAGS="$(X11FLAGS)" \
  414. X!            X11INCLUDES="$(X11INCLUDES)" \
  415. X             X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lX11" \
  416. X             PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  417. X             X11INSTALL="$(X11INSTALL)" \
  418. X***************
  419. X*** 225,230 ****
  420. X--- 225,239 ----
  421. X             X11INSTALL="$(X11INSTALL)" \
  422. X             TERMFLAGS="-Iterm -DX11"
  423. X  
  424. X+ HP_M_FLAGS = \
  425. X+            CFLAGS="$(COPTS) $(OPTIONS) -DMEMSET -DMEMCPY -DGETCWD" \
  426. X+            LIBS="-lm" X11FLAGS="-DMOTIF -D_NO_PROTO" \
  427. X+            X11INCLUDES="-I/usr/include/Motif1.1 -I/usr/include/Motif1.1/Xm -I/usr/include/X11R4" \
  428. X+            X11LIBS="-L/usr/lib/Motif1.1 -L/usr/lib/X11R4 -lXm -lXt -lX11" \
  429. X+            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  430. X+            X11INSTALL="$(X11INSTALL)" \
  431. X+            TERMFLAGS=" -Iterm -DX11"
  432. X+ 
  433. X  SUN_FLAGS = \
  434. X             CFLAGS="$(COPTS) $(OPTIONS)" \
  435. X             LIBS="-lsuntool -lsunwindow -lpixrect $(LIBS)" \
  436. X***************
  437. X*** 251,262 ****
  438. X  
  439. X  SGIX11_FLAGS = \
  440. X             CFLAGS="$(COPTS) $(OPTIONS)" \
  441. X!            LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
  442. X             X11INCLUDES="-I/usr/include/X11 -I/usr/include/X11/Xaw" \
  443. X             X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lXext -lX11" \
  444. X              PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  445. X              X11INSTALL="$(X11INSTALL)" \
  446. X!            TERMFLAGS="-Iterm -DX11"
  447. X  
  448. X  CGI_FLAGS = \
  449. X             CFLAGS="$(COPTS) $(OPTIONS) -Dunix" \
  450. X--- 260,271 ----
  451. X  
  452. X  SGIX11_FLAGS = \
  453. X             CFLAGS="$(COPTS) $(OPTIONS)" \
  454. X!            LIBS="-lgl_s -lm -lc_s" X11FLAGS="$(X11FLAGS)" \
  455. X             X11INCLUDES="-I/usr/include/X11 -I/usr/include/X11/Xaw" \
  456. X             X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lXext -lX11" \
  457. X              PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  458. X              X11INSTALL="$(X11INSTALL)" \
  459. X!            TERMFLAGS="-Iterm -DX11 -DIRIS4D"
  460. X  
  461. X  CGI_FLAGS = \
  462. X             CFLAGS="$(COPTS) $(OPTIONS) -Dunix" \
  463. X***************
  464. X*** 303,314 ****
  465. X             TERMFLAGS="$(TERMFLAGS)"
  466. X  
  467. X  NEXT_FLAGS = \
  468. X!            CFLAGS="$(COPTS) -DNOCWDRC -DGAMMA=lgamma -DNEXT" \
  469. X             LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
  470. X             X11INCLUDES=" " X11LIBS=" " PLOTXFLAG=" " \
  471. X             GNUPLOT_X11=" " X11INSTALL=x11_noinstall \
  472. X             TERMFLAGS="-Iterm"
  473. X  
  474. X  ####################################################################
  475. X  # List of object files except version.o
  476. X  OBJS = bitmap.o command.o contour.o eval.o graphics.o graph3d.o help.o \
  477. X--- 312,348 ----
  478. X             TERMFLAGS="$(TERMFLAGS)"
  479. X  
  480. X  NEXT_FLAGS = \
  481. X!            CFLAGS="$(COPTS) -DGAMMA=lgamma -DNEXT" \
  482. X             LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
  483. X             X11INCLUDES=" " X11LIBS=" " PLOTXFLAG=" " \
  484. X             GNUPLOT_X11=" " X11INSTALL=x11_noinstall \
  485. X             TERMFLAGS="-Iterm"
  486. X  
  487. X+ NEXT_X11_FLAGS = \
  488. X+            CFLAGS="$(COPTS) -DGAMMA=lgamma -DNEXT" \
  489. X+            LIBS="-lm" \
  490. X+            X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lX11" \
  491. X+            X11INCLUDES="$(X11INCLUDES)" X11FLAGS="$(X11FLAGS)" \
  492. X+            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  493. X+            X11INSTALL="$(X11INSTALL)" \
  494. X+            TERMFLAGS="-Iterm -DX11"
  495. X+ 
  496. X+ CRAY_FLAGS = \
  497. X+        CFLAGS="$(COPTS) $(OPTIONS) -DGETCWD -DNOVFORK" \
  498. X+        LIBS="-lm" X11FLAGS=" " \
  499. X+        X11INCLUDES=" " \
  500. X+        X11LIBS=" " \
  501. X+        PLOTXFLAG=" " GNUPLOT_X11=" " \
  502. X+        X11INSTALL=x11_noinstall \
  503. X+        TERMFLAGS="-Iterm"
  504. X+ CRAY_X11_FLAGS = \
  505. X+        CFLAGS="$(COPTS) $(OPTIONS) -DGETCWD -DNOVFORK" \
  506. X+        LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
  507. X+        X11INCLUDES="$(X11INCLUDES)" \
  508. X+        X11LIBS="$(X11LIBS)" \
  509. X+        PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11="$(GNUPLOT_X11)" \
  510. X+        X11INSTALL=$(X11INSTALL) \
  511. X+        TERMFLAGS="-Iterm -DX11"
  512. X  ####################################################################
  513. X  # List of object files except version.o
  514. X  OBJS = bitmap.o command.o contour.o eval.o graphics.o graph3d.o help.o \
  515. X***************
  516. X*** 373,379 ****
  517. X      @echo 
  518. X      @echo "apollo, apollo_motif       for Apollo running SR10.3 with Apollo's X11R3"
  519. X      @echo "dec, dec_motif             for Dec3100/5000 running Ultrix 3.1d with MIT's X11R4"
  520. X!     @echo "hp                         for HP/9000 700 series running HP/UX 8.0 with MIT's X11R4"
  521. X      @echo "sun                        for Sun sparcstation running SunOS 4.1 with suntools (no X11R4) "
  522. X      @echo "sun_x11                    for Sun sparcstation running SunOS 4.1 with suntools and X11R4 "
  523. X      @echo "sgi                        for Silicon Graphics IRIS4D machines (no X11R4) "
  524. X--- 407,413 ----
  525. X      @echo 
  526. X      @echo "apollo, apollo_motif       for Apollo running SR10.3 with Apollo's X11R3"
  527. X      @echo "dec, dec_motif             for Dec3100/5000 running Ultrix 3.1d with MIT's X11R4"
  528. X!     @echo "hp, hp_motif               for HP/9000 700 series running HP/UX 8.0 with MIT's X11R4"
  529. X      @echo "sun                        for Sun sparcstation running SunOS 4.1 with suntools (no X11R4) "
  530. X      @echo "sun_x11                    for Sun sparcstation running SunOS 4.1 with suntools and X11R4 "
  531. X      @echo "sgi                        for Silicon Graphics IRIS4D machines (no X11R4) "
  532. X***************
  533. X*** 384,389 ****
  534. X--- 418,425 ----
  535. X      @echo "386ix_x11                  for 386 machines running 386/ix with T.Roell X386"
  536. X      @echo "ibmrs6000, ibmrs6000_motif for IBM RS/6000 running Aix 3.1 with IBM's X11R3"
  537. X      @echo "x11r4, x11r4_motif         for a generic machine (like a sun or dec) with MIT's X11R4"
  538. X+     @echo "cray            for Cray Y-MP or Cray-2 running Unicos 6.0 or 6.1 (no X11R4)"
  539. X+     @echo "cray_x11        for Cray Y-MP or Cray-2 running Unicos 6.0 or 6.1 with X11R4"
  540. X      @echo 
  541. X      @echo "Examples:"
  542. X      @echo
  543. X***************
  544. X*** 401,407 ****
  545. X      @echo "         make sgi"
  546. X      @echo "         make 3b1"
  547. X      @echo "         make 386ix"
  548. X!     @echo "         make ibmrs6000    MANDEST='/usr/usr/misc/man/man1' COPTS='-O' "
  549. X      @echo 
  550. X      @echo "If you just type 'make All' , it will build gnuplot for Unix X11R4/Athena"
  551. X      @echo "and the following variables will be used as default:"
  552. X--- 437,445 ----
  553. X      @echo "         make sgi"
  554. X      @echo "         make 3b1"
  555. X      @echo "         make 386ix"
  556. X!     @echo "         make ibmrs6000    MANDEST='/usr/um/misc/man/man1' COPTS='-O' "
  557. X!     @echo "         make cray"
  558. X!     @echo "         make cray_x11"
  559. X      @echo 
  560. X      @echo "If you just type 'make All' , it will build gnuplot for Unix X11R4/Athena"
  561. X      @echo "and the following variables will be used as default:"
  562. X***************
  563. X*** 450,458 ****
  564. X--- 488,502 ----
  565. X  hp:
  566. X      $(MAKE) $(MFLAGS) $(MY_FLAGS) $(HP_FLAGS)       $(TARGET)
  567. X  
  568. X+ hp_motif:
  569. X+     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(HP_M_FLAGS)       $(TARGET)
  570. X+ 
  571. X  next:
  572. X      $(MAKE) $(MFLAGS) $(MY_FLAGS) $(NEXT_FLAGS)     $(TARGET)
  573. X  
  574. X+ next_x11:
  575. X+     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(NEXT_X11_FLAGS)     $(TARGET)
  576. X+ 
  577. X  sun:
  578. X      $(MAKE) $(MFLAGS) $(MY_FLAGS) $(SUN_FLAGS)      $(TARGET)
  579. X  
  580. X***************
  581. X*** 482,487 ****
  582. X--- 526,535 ----
  583. X  
  584. X  ibmrs6000_motif:
  585. X      $(MAKE) $(MFLAGS) $(MY_FLAGS) $(AIX_M_FLAGS)    $(TARGET)
  586. X+ cray:
  587. X+     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(CRAY_FLAGS)     $(TARGET)
  588. X+ cray_x11:
  589. X+     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(CRAY_X11_FLAGS) $(TARGET)
  590. X  
  591. X  #############################################################
  592. X  # Targets that really do something
  593. X***************
  594. X*** 496,502 ****
  595. X      $(LD) $(OBJS) version.o $(LIBS) -o gnuplot
  596. X  
  597. X  doc:
  598. X!     ( cd docs; make $(MFLAGS) gnuplot.gih )
  599. X  
  600. X  gnuplot_x11: gnuplot_x11.c
  601. X      $(CC) $(CFLAGS) $(X11FLAGS) $(X11INCLUDES) -o gnuplot_x11 gnuplot_x11.c $(X11LIBS)
  602. X--- 544,550 ----
  603. X      $(LD) $(OBJS) version.o $(LIBS) -o gnuplot
  604. X  
  605. X  doc:
  606. X!     ( cd docs; $(MAKE) $(MFLAGS) gnuplot.gih )
  607. X  
  608. X  gnuplot_x11: gnuplot_x11.c
  609. X      $(CC) $(CFLAGS) $(X11FLAGS) $(X11INCLUDES) -o gnuplot_x11 gnuplot_x11.c $(X11LIBS)
  610. X***************
  611. X*** 527,533 ****
  612. X  Install: All man_install $(X11INSTALL) $(LASERGNU)
  613. X      cp gnuplot     $(DEST)
  614. X      strip $(DEST)/gnuplot
  615. X!     (cd docs; make $(MFLAGS) install-unix HELPDEST=$(HELPDEST))
  616. X  
  617. X  x11_install: gnuplot_x11
  618. X      cp gnuplot_x11 $(DEST)
  619. X--- 575,581 ----
  620. X  Install: All man_install $(X11INSTALL) $(LASERGNU)
  621. X      cp gnuplot     $(DEST)
  622. X      strip $(DEST)/gnuplot
  623. X!     ( cd docs; $(MAKE) $(MFLAGS) install-unix HELPDEST=$(HELPDEST) )
  624. X  
  625. X  x11_install: gnuplot_x11
  626. X      cp gnuplot_x11 $(DEST)
  627. X***************
  628. X*** 591,603 ****
  629. X  
  630. X  clean:
  631. X      rm -f *.o *~ *.bak term/*~ term/*.bak
  632. X!     (cd docs; make $(MFLAGS) clean)
  633. X!     (cd docs/latextut; make $(MFLAGS) clean)
  634. X  
  635. X  spotless:
  636. X      rm -f *.o *~ *.bak term/*~ term/*.bak TAGS gnuplot gnuplot_x11
  637. X!     (cd docs; make $(MFLAGS) clean)
  638. X!     (cd docs/latextut; make $(MFLAGS) spotless)
  639. X  
  640. X  ################################################################
  641. X  # Making shar files for mailing gnuplot
  642. X--- 639,651 ----
  643. X  
  644. X  clean:
  645. X      rm -f *.o *~ *.bak term/*~ term/*.bak
  646. X!     ( cd docs; $(MAKE) $(MFLAGS) clean )
  647. X!     ( cd docs/latextut; $(MAKE) $(MFLAGS) clean )
  648. X  
  649. X  spotless:
  650. X      rm -f *.o *~ *.bak term/*~ term/*.bak TAGS gnuplot gnuplot_x11
  651. X!     ( cd docs; $(MAKE) $(MFLAGS) clean )
  652. X!     ( cd docs/latextut; $(MAKE) $(MFLAGS) spotless )
  653. X  
  654. X  ################################################################
  655. X  # Making shar files for mailing gnuplot
  656. Xdiff -c -r ./parse.c ../gnuplot3p1/parse.c
  657. X*** ./parse.c    Fri Sep  6 09:00:06 1991
  658. X--- ../gnuplot3p1/parse.c    Sun Dec  1 14:47:33 1991
  659. X***************
  660. X*** 66,82 ****
  661. X  #ifdef __TURBOC__
  662. X  void fpe()
  663. X  #else
  664. X! #ifdef __ZTC__
  665. X  void fpe(an_int)
  666. X  int an_int;
  667. X  #else
  668. X! #ifdef _CRAY
  669. X! void fpe(an_int)
  670. X! int an_int;
  671. X  #else
  672. X  fpe()
  673. X  #endif
  674. X! #endif
  675. X  #endif
  676. X  {
  677. X  #ifdef PC    /* thanks to lotto@wjh12.UUCP for telling us about this  */
  678. X--- 66,81 ----
  679. X  #ifdef __TURBOC__
  680. X  void fpe()
  681. X  #else
  682. X! #if defined( __ZTC__ ) || defined( _CRAY )
  683. X  void fpe(an_int)
  684. X  int an_int;
  685. X  #else
  686. X! #ifdef NEXT
  687. X! void fpe(int an_int)
  688. X  #else
  689. X  fpe()
  690. X  #endif
  691. X! #endif /* __ZTC__ || _CRAY */
  692. X  #endif
  693. X  {
  694. X  #ifdef PC    /* thanks to lotto@wjh12.UUCP for telling us about this  */
  695. Xdiff -c -r ./plot.c ../gnuplot3p1/plot.c
  696. X*** ./plot.c    Thu Sep  5 11:19:10 1991
  697. X--- ../gnuplot3p1/plot.c    Sun Dec  1 14:47:22 1991
  698. X***************
  699. X*** 168,174 ****
  700. X--- 168,178 ----
  701. X  void inter(an_int)
  702. X  int an_int;
  703. X  #else
  704. X+ #ifdef NEXT
  705. X+ void inter(int an_int)
  706. X+ #else
  707. X  inter()
  708. X+ #endif
  709. X  #endif
  710. X  #endif
  711. X  {
  712. Xdiff -c -r ./plot.h ../gnuplot3p1/plot.h
  713. X*** ./plot.h    Thu Sep  5 11:19:10 1991
  714. X--- ../gnuplot3p1/plot.h    Sun Dec  1 14:58:27 1991
  715. X***************
  716. X*** 133,138 ****
  717. X--- 133,141 ----
  718. X  #else
  719. X  #if defined( vms ) || defined( _CRAY ) || defined( NEXT )
  720. X  #include <float.h>
  721. X+ #if defined ( NEXT )  /* bug in NeXT OS 2.0 */
  722. X+ #define DBL_MAX 1.7976931348623157e+308 
  723. X+ #endif
  724. X  #define VERYLARGE DBL_MAX
  725. X  #else
  726. X  #if defined(AMIGA_AC_5) || defined(AMIGA_LC_5_1)
  727. Xdiff -c -r ./readline.c ../gnuplot3p1/readline.c
  728. X*** ./readline.c    Tue Sep 10 15:19:46 1991
  729. X--- ../gnuplot3p1/readline.c    Sun Dec  1 14:58:25 1991
  730. X***************
  731. X*** 34,40 ****
  732. X  #ifdef READLINE
  733. X  
  734. X  /* a small portable version of GNU's readline */
  735. X! 
  736. X  /* do not need any terminal capabilities except backspace,
  737. X  /* and space overwrites a character */
  738. X  
  739. X--- 34,41 ----
  740. X  #ifdef READLINE
  741. X  
  742. X  /* a small portable version of GNU's readline */
  743. X! /* this is not the BASH or GNU EMACS version of READLINE due to Copyleft 
  744. X!     restrictions */
  745. X  /* do not need any terminal capabilities except backspace,
  746. X  /* and space overwrites a character */
  747. X  
  748. Xdiff -c -r ./scanner.c ../gnuplot3p1/scanner.c
  749. X*** ./scanner.c    Thu Sep  5 11:19:12 1991
  750. X--- ../gnuplot3p1/scanner.c    Sun Dec  1 15:36:52 1991
  751. X***************
  752. X*** 84,105 ****
  753. X   *
  754. X   *     Scanning is performed by following rules:
  755. X   *
  756. X!  *        Current char    token should contain
  757. X   *     -------------    -----------------------
  758. X!  *        1.  alpha        all following alpha-numerics
  759. X!  *        2.  digit        0 or more following digits, 0 or 1 decimal point,
  760. X!  *                          0 or more digits, 0 or 1 'e' or 'E',
  761. X!  *                          0 or more digits.
  762. X!  *        3.  ^,+,-,/        only current char
  763. X!  *            %,~,(,)
  764. X!  *            [,],;,:,
  765. X!  *            ?,comma
  766. X!  *        4.  &,|,=,*        current char; also next if next is same
  767. X!  *        5.  !,<,>        current char; also next if next is =
  768. X!  *        6.  ", '        all chars up until matching quote
  769. X!  *        7.  #          this token cuts off scanning of the line (DFK).
  770. X   *
  771. X!  *        white space between tokens is ignored
  772. X   */
  773. X  scanner(expression)
  774. X  char expression[];
  775. X--- 84,105 ----
  776. X   *
  777. X   *     Scanning is performed by following rules:
  778. X   *
  779. X!  *    Current char    token should contain
  780. X   *     -------------    -----------------------
  781. X!  *    1.  alpha,_    all following alpha-numerics
  782. X!  *    2.  digit    0 or more following digits, 0 or 1 decimal point,
  783. X!  *                0 or more digits, 0 or 1 'e' or 'E',
  784. X!  *                0 or more digits.
  785. X!  *    3.  ^,+,-,/    only current char
  786. X!  *        %,~,(,)
  787. X!  *        [,],;,:,
  788. X!  *        ?,comma
  789. X!  *    4.  &,|,=,*    current char; also next if next is same
  790. X!  *    5.  !,<,>    current char; also next if next is =
  791. X!  *    6.  ", '    all chars up until matching quote
  792. X!  *    7.  #        this token cuts off scanning of the line (DFK).
  793. X   *
  794. X!  *            white space between tokens is ignored
  795. X   */
  796. X  scanner(expression)
  797. X  char expression[];
  798. X***************
  799. X*** 122,128 ****
  800. X              substitute(&expression[current],MAX_LINE_LEN - current);
  801. X              goto again;
  802. X          }
  803. X!         if (isalpha(expression[current])) {
  804. X              SCAN_IDENTIFIER;
  805. X          } else if (isdigit(expression[current]) || expression[current] == '.'){
  806. X              token[t_num].is_token = FALSE;
  807. X--- 122,129 ----
  808. X              substitute(&expression[current],MAX_LINE_LEN - current);
  809. X              goto again;
  810. X          }
  811. X!         /* allow _ to be the first character of an identifier */
  812. X!         if (isalpha(expression[current]) || expression[current] == '_') {
  813. X              SCAN_IDENTIFIER;
  814. X          } else if (isdigit(expression[current]) || expression[current] == '.'){
  815. X              token[t_num].is_token = FALSE;
  816. Xdiff -c -r ./standard.c ../gnuplot3p1/standard.c
  817. X*** ./standard.c    Thu Jul 18 14:02:06 1991
  818. X--- ../gnuplot3p1/standard.c    Sun Dec  1 14:58:45 1991
  819. X***************
  820. X*** 368,374 ****
  821. X  f_atan()
  822. X  {
  823. X  struct value a;
  824. X! register double x, y;
  825. X      (void) pop(&a);
  826. X      x = real(&a); y = imag(&a);
  827. X      if (y == 0.0)
  828. X--- 368,374 ----
  829. X  f_atan()
  830. X  {
  831. X  struct value a;
  832. X! register double x, y, u, v, w, z;
  833. X      (void) pop(&a);
  834. X      x = real(&a); y = imag(&a);
  835. X      if (y == 0.0)
  836. X***************
  837. X*** 376,384 ****
  838. X      else if (x == 0.0 && fabs(y) == 1.0) {
  839. X          undefined = TRUE;
  840. X          push(complex(&a,0.0, 0.0));
  841. X!     } else
  842. X!         push( complex(&a,atan(2*x/(1-x*x-y*y)),
  843. X!                 log((x*x+(y+1)*(y+1))/(x*x+(y-1)*(y-1)))/4) );
  844. X  }
  845. X  
  846. X  f_sinh()
  847. X--- 376,400 ----
  848. X      else if (x == 0.0 && fabs(y) == 1.0) {
  849. X          undefined = TRUE;
  850. X          push(complex(&a,0.0, 0.0));
  851. X!     } else {
  852. X!             if (x >= 0) {
  853. X!                 u = x;
  854. X!             v = y;
  855. X!         } else {
  856. X!                 u = -x;
  857. X!             v = -y;
  858. X!         }
  859. X!         
  860. X!             z = atan(2*u/(1-u*u-v*v));
  861. X!         w = log((u*u+(v+1)*(v+1))/(u*u+(v-1)*(v-1)))/4;
  862. X!         if (z < 0)
  863. X!                 z = z + 2*PI_ON_TWO;
  864. X!         if (x < 0) {
  865. X!                 z = -z;
  866. X!             w = -w;
  867. X!         }
  868. X!         push( complex(&a,0.5*z, w) );
  869. X!     }
  870. X  }
  871. X  
  872. X  f_sinh()
  873. XCommon subdirectories: ./term and ../gnuplot3p1/term
  874. Xdiff -c -r ./term.c ../gnuplot3p1/term.c
  875. X*** ./term.c    Thu Sep  5 11:19:14 1991
  876. X--- ../gnuplot3p1/term.c    Sun Dec  1 14:48:26 1991
  877. X***************
  878. X*** 298,304 ****
  879. X  #include "term/hpljii.trm"
  880. X  #endif
  881. X  
  882. X! #ifdef HPLJII /* HP LaserJet III in HPGL mode */
  883. X  #  ifndef HPGL
  884. X  #    define HPGL
  885. X  #  endif
  886. X--- 298,304 ----
  887. X  #include "term/hpljii.trm"
  888. X  #endif
  889. X  
  890. X! #ifdef HPLJIII /* HP LaserJet III in HPGL mode */
  891. X  #  ifndef HPGL
  892. X  #    define HPGL
  893. X  #  endif
  894. X***************
  895. X*** 354,359 ****
  896. X--- 354,363 ----
  897. X  #include "term/aed.trm"
  898. X  #endif /* AED */
  899. X  
  900. X+ #ifdef AIFM
  901. X+ #include "term/ai.trm"
  902. X+ #endif /* AIFM */
  903. X+ 
  904. X  #ifdef CGI
  905. X  #include "term/cgi.trm"
  906. X  #endif /* CGI */
  907. X***************
  908. X*** 632,637 ****
  909. X--- 636,650 ----
  910. X         null_justify_text, do_point, do_arrow}
  911. X  #endif
  912. X  
  913. X+ #ifdef AIFM
  914. X+     ,{"aifm", "Adobe Illustrator 3.0 Format",
  915. X+        AI_XMAX, AI_YMAX, AI_VCHAR, AI_HCHAR, 
  916. X+        AI_VTIC, AI_HTIC, AI_options, AI_init, AI_reset, 
  917. X+        AI_text, null_scale, AI_graphics, AI_move, AI_vector, 
  918. X+        AI_linetype, AI_put_text, AI_text_angle, 
  919. X+        AI_justify_text, do_point, do_arrow}
  920. X+ #endif
  921. X+ 
  922. X  #ifdef APOLLO
  923. X         ,{"apollo", "Apollo Graphics Primitive Resource, rescaling of subsequent plots after window resizing",
  924. X         0, 0, 0, 0, /* APOLLO_XMAX, APOLLO_YMAX, APOLLO_VCHAR, APOLLO_HCHAR, are filled in at run-time */
  925. X***************
  926. X*** 799,811 ****
  927. X  #endif
  928. X  
  929. X  #ifdef HPLJIII
  930. X!     ,{"hpljiii_port", "HP laserjet iii (using HPGL plot vectors), portrait mode",
  931. X      HPGL_XMAX, HPGL_YMAX, HPGL_VCHAR, HPGL_HCHAR,
  932. X      HPGL_VTIC, HPGL_HTIC, options_null, HPLJIII_PORT_init, HPLJIII_reset,
  933. X      HPGL_text, null_scale, HPGL_graphics, HPGL_move, HPGL_vector,
  934. X      HPGL_linetype, HPGL_put_text, HPGL_text_angle,
  935. X      null_justify_text, do_point, do_arrow}
  936. X!      ,{"hpljiii_land", "HP laserjet iii (using HPGL plot vectors), landscape mode",
  937. X      HPGL_XMAX, HPGL_YMAX, HPGL_VCHAR, HPGL_HCHAR,
  938. X      HPGL_VTIC, HPGL_HTIC, options_null, HPLJIII_LAND_init, HPLJIII_reset,
  939. X      HPGL_text, null_scale, HPGL_graphics, HPGL_move, HPGL_vector,
  940. X--- 812,824 ----
  941. X  #endif
  942. X  
  943. X  #ifdef HPLJIII
  944. X!     ,{"pcl5_port", "HP laserjet iii (using HPGL plot vectors), portrait mode",
  945. X      HPGL_XMAX, HPGL_YMAX, HPGL_VCHAR, HPGL_HCHAR,
  946. X      HPGL_VTIC, HPGL_HTIC, options_null, HPLJIII_PORT_init, HPLJIII_reset,
  947. X      HPGL_text, null_scale, HPGL_graphics, HPGL_move, HPGL_vector,
  948. X      HPGL_linetype, HPGL_put_text, HPGL_text_angle,
  949. X      null_justify_text, do_point, do_arrow}
  950. X!      ,{"pcl5_land", "HP laserjet iii (using HPGL plot vectors), landscape mode",
  951. X      HPGL_XMAX, HPGL_YMAX, HPGL_VCHAR, HPGL_HCHAR,
  952. X      HPGL_VTIC, HPGL_HTIC, options_null, HPLJIII_LAND_init, HPLJIII_reset,
  953. X      HPGL_text, null_scale, HPGL_graphics, HPGL_move, HPGL_vector,
  954. X***************
  955. X*** 889,895 ****
  956. X      ,{"postscript", "PostScript graphics language [mode \042fontname\042 font_size]",
  957. X         PS_XMAX, PS_YMAX, PS_VCHAR, PS_HCHAR, 
  958. X         PS_VTIC, PS_HTIC, PS_options, PS_init, PS_reset, 
  959. X!        PS_text, do_scale, PS_graphics, PS_move, PS_vector, 
  960. X         PS_linetype, PS_put_text, PS_text_angle, 
  961. X         PS_justify_text, PS_point, do_arrow}
  962. X  #endif
  963. X--- 902,908 ----
  964. X      ,{"postscript", "PostScript graphics language [mode \042fontname\042 font_size]",
  965. X         PS_XMAX, PS_YMAX, PS_VCHAR, PS_HCHAR, 
  966. X         PS_VTIC, PS_HTIC, PS_options, PS_init, PS_reset, 
  967. X!        PS_text, null_scale, PS_graphics, PS_move, PS_vector, 
  968. X         PS_linetype, PS_put_text, PS_text_angle, 
  969. X         PS_justify_text, PS_point, do_arrow}
  970. X  #endif
  971. Xdiff -c -r ./term.h ../gnuplot3p1/term.h
  972. X*** ./term.h    Thu Sep  5 11:19:16 1991
  973. X--- ../gnuplot3p1/term.h    Sun Dec  1 14:48:24 1991
  974. X***************
  975. X*** 102,107 ****
  976. X--- 102,108 ----
  977. X  #define EPS60        /* Epson-style 60-dot per inch printers */
  978. X  #define EPSONP        /* Epson LX-800, Star NL-10, NX-1000 and lots of others */
  979. X  #define HPLJII        /* HP LaserJet II */
  980. X+ #define HPLJIII        /* HP LaserJet III */
  981. X  #define LATEX        /* LATEX picture environment */
  982. X  
  983. X  /* These are for MSDOS only */
  984. Xdiff -c -r ./util.c ../gnuplot3p1/util.c
  985. X*** ./util.c    Sun Sep  8 09:01:16 1991
  986. X--- ../gnuplot3p1/util.c    Sun Dec  1 15:36:52 1991
  987. X***************
  988. X*** 162,168 ****
  989. X  int t_num;
  990. X  {
  991. X      return(token[t_num].is_token &&
  992. X!             (isalpha(input_line[token[t_num].start_index])));
  993. X  }
  994. X  
  995. X  
  996. X--- 162,169 ----
  997. X  int t_num;
  998. X  {
  999. X      return(token[t_num].is_token &&
  1000. X!             ((isalpha(input_line[token[t_num].start_index]))||
  1001. X!              (input_line[token[t_num].start_index] == '_')));
  1002. X  }
  1003. X  
  1004. X  
  1005. Xdiff -c -r ./version.c ../gnuplot3p1/version.c
  1006. X*** ./version.c    Sun Sep 29 18:59:00 1991
  1007. X--- ../gnuplot3p1/version.c    Mon Dec  2 15:19:41 1991
  1008. X***************
  1009. X*** 35,42 ****
  1010. X   */
  1011. X  
  1012. X  char version[] = "3.0 ";
  1013. X! char patchlevel[] = "0, Sep 29 91";
  1014. X! char date[] = "Sun Sep 29 16:56:36 1991";
  1015. X  
  1016. X  /* override in Makefile */
  1017. X  #ifndef CONTACT
  1018. X--- 35,42 ----
  1019. X   */
  1020. X  
  1021. X  char version[] = "3.0 ";
  1022. X! char patchlevel[] = "1, Dec 1 91";
  1023. X! char date[] = "Sun Dec 1 16:56:36 1991";
  1024. X  
  1025. X  /* override in Makefile */
  1026. X  #ifndef CONTACT
  1027. Xdiff -c -r ./demo/world.cor ../gnuplot3p1/demo/world.cor
  1028. X*** ./demo/world.cor    Thu Jun 27 16:55:42 1991
  1029. X--- ../gnuplot3p1/demo/world.cor    Sun Dec  1 14:48:17 1991
  1030. X***************
  1031. X*** 34,42 ****
  1032. X  -84 34         # Atlanta, Georgia
  1033. X  -84 42         # Univ. of Michigan, Ann Arbor, Michigan
  1034. X  -86 39         # UCS Indiana (?)
  1035. X  -88 42         # Arlington Heights, Illinois
  1036. X  -88 42         # Northwestern University, Evanston, Illinois
  1037. X- -90 43         # UIUCS, Urabana, Illinois (?)
  1038. X  -92 30         # Lafayette, Louisiana
  1039. X  -93 45         # Eagan, Minnesota
  1040. X  -95 30         # Houston, Texas
  1041. X--- 34,42 ----
  1042. X  -84 34         # Atlanta, Georgia
  1043. X  -84 42         # Univ. of Michigan, Ann Arbor, Michigan
  1044. X  -86 39         # UCS Indiana (?)
  1045. X+ -88 40         # University of Illinois, Urbana-Champaign, Illinois
  1046. X  -88 42         # Arlington Heights, Illinois
  1047. X  -88 42         # Northwestern University, Evanston, Illinois
  1048. X  -92 30         # Lafayette, Louisiana
  1049. X  -93 45         # Eagan, Minnesota
  1050. X  -95 30         # Houston, Texas
  1051. Xdiff -c -r ./docs/gnuplot.doc ../gnuplot3p1/docs/gnuplot.doc
  1052. X*** ./docs/gnuplot.doc    Tue Sep 17 10:21:06 1991
  1053. X--- ../gnuplot3p1/docs/gnuplot.doc    Sun Dec  1 15:57:55 1991
  1054. X***************
  1055. X*** 145,151 ****
  1056. X  %Up Arrow@@same as ^P.
  1057. X  %Down Arrow@@same as ^N.
  1058. X  %_
  1059. X! @end table 
  1060. X  2 comment
  1061. X  ?comments
  1062. X   Comments are supported as follows: a # may appear in most places in a line
  1063. X--- 145,153 ----
  1064. X  %Up Arrow@@same as ^P.
  1065. X  %Down Arrow@@same as ^N.
  1066. X  %_
  1067. X! @end table
  1068. X!  (The readline function in gnuplot is not the same as the readline used
  1069. X!  in GNU BASH and GNU EMACS.  It is somewhat compatible however.) 
  1070. X  2 comment
  1071. X  ?comments
  1072. X   Comments are supported as follows: a # may appear in most places in a line
  1073. X***************
  1074. X*** 699,706 ****
  1075. X  
  1076. X   A simple example of plotting a 3-d data file is
  1077. X   
  1078. X           splot 'glass.dat'
  1079. X! 
  1080. X   For more information about 3-d plotting, see `splot`.
  1081. X  4 using
  1082. X  ?plot datafile using
  1083. X--- 701,736 ----
  1084. X  
  1085. X   A simple example of plotting a 3-d data file is
  1086. X   
  1087. X+          set parametric
  1088. X           splot 'glass.dat'
  1089. X!  
  1090. X!  or
  1091. X!  
  1092. X!          set noparametric
  1093. X!          splot 'datafile.dat'
  1094. X!  
  1095. X!  where the file datafile.dat might contain:
  1096. X!  
  1097. X!          # The valley of the Gnu.
  1098. X!          10
  1099. X!          10
  1100. X!          10
  1101. X!  
  1102. X!          10
  1103. X!          5
  1104. X!          10
  1105. X!  
  1106. X!          10
  1107. X!          1
  1108. X!          10
  1109. X!  
  1110. X!          10
  1111. X!          0
  1112. X!          10
  1113. X!  
  1114. X!  Note datafile.dat defines a 4 by 3 grid ( 4 rows of 3 points each ).
  1115. X!  Rows are seperated by blank lines.
  1116. X!  
  1117. X   For more information about 3-d plotting, see `splot`.
  1118. X  4 using
  1119. X  ?plot datafile using
  1120. X***************
  1121. X*** 1929,1936 ****
  1122. X           set terminal postscript {<mode>} {<color>}
  1123. X                                   {"<fontname>"} {<fontsize>}
  1124. X  
  1125. X!  where <mode> is `landscape`, `portrait` or `default`. Selecting default
  1126. X!  sets all options to their defaults.
  1127. X   <color> is either `color` or `monochrome`.
  1128. X   "<fontname>" is the name of a valid PostScript font.
  1129. X   <fontsize> is the size of the font in PostScript points, before 
  1130. X--- 1959,1966 ----
  1131. X           set terminal postscript {<mode>} {<color>}
  1132. X                                   {"<fontname>"} {<fontsize>}
  1133. X  
  1134. X!  where <mode> is `landscape`, `portrait`, `eps` or `default`. 
  1135. X!  Selecting default sets all options to their defaults.
  1136. X   <color> is either `color` or `monochrome`.
  1137. X   "<fontname>" is the name of a valid PostScript font.
  1138. X   <fontsize> is the size of the font in PostScript points, before 
  1139. X***************
  1140. X*** 1939,1954 ****
  1141. X   Default size of PostScript plot is landscape mode 10 inches wide 
  1142. X   and 7 inches high.
  1143. X  
  1144. X   Examples:
  1145. X   
  1146. X-          set size 1,1
  1147. X           set term postscript default       # old postscript
  1148. X           set term postscript landscape 22  # old psbig
  1149. X!          set size 0.5,0.5
  1150. X!          set term postscript portrait 14   # old epsf1
  1151. X!          set term postscript portrait 22   # old epsf2
  1152. X!          set size 1,1; set term post landscape color "Times-Roman" 14 
  1153. X   
  1154. X  3 tics
  1155. X  ?set tics
  1156. X  ?show tics
  1157. X--- 1969,2015 ----
  1158. X   Default size of PostScript plot is landscape mode 10 inches wide 
  1159. X   and 7 inches high.
  1160. X  
  1161. X+  To get EPS output, use the `eps` mode and make only one plot per file.
  1162. X+  In `eps` mode the whole plot is halved in size; the fonts are half the 
  1163. X+  given size, and the plot is 5 inches wide and 3.5 inches high.
  1164. X+ 
  1165. X   Examples:
  1166. X   
  1167. X           set term postscript default       # old postscript
  1168. X           set term postscript landscape 22  # old psbig
  1169. X!          set term postscript eps 14   # old epsf1
  1170. X!          set term postscript eps 22   # old epsf2
  1171. X!          set size 0.7,1.4
  1172. X!          set term post portrait color "Times-Roman" 14 
  1173. X   
  1174. X+ 4 aifm
  1175. X+ ?set terminal aifm
  1176. X+ ?aifm
  1177. X+  Several options may be set in the Adobe Illustrator 3.0 driver.
  1178. X+ 
  1179. X+  Syntax:
  1180. X+          set terminal aifm {<color>}
  1181. X+                                  {"<fontname>"} {<fontsize>}
  1182. X+ 
  1183. X+  Selecting default sets all options to their defaults.
  1184. X+  <color> is either `color` or `monochrome`.
  1185. X+  "<fontname>" is the name of a valid PostScript font.
  1186. X+  <fontsize> is the size of the font in PostScript points, before 
  1187. X+  scaling by the `set size` command.
  1188. X+  Defaults are `monochrome`, "Courier", and 14pt.
  1189. X+ 
  1190. X+  Also, since AI does not really support multiple pages, multiple 
  1191. X+  graphs will be output directly on one another.  However, each graph 
  1192. X+  will be grouped individually, making it easy to separate them inside 
  1193. X+  AI (just pick them up and move them).
  1194. X+ 
  1195. X+  Examples:
  1196. X+  
  1197. X+          set term aifm 
  1198. X+          set term aifm 22  
  1199. X+          set size 0.7,1.4
  1200. X+          set term aifm color "Times-Roman" 14 
  1201. X+  
  1202. X  3 tics
  1203. X  ?set tics
  1204. X  ?show tics
  1205. X***************
  1206. X*** 2457,2464 ****
  1207. X   See `show functions` and `show variables`.
  1208. X  2 bugs
  1209. X  ?bugs
  1210. X-  The atan() function does not work correctly for complex arguments.
  1211. X-  
  1212. X   The bessel functions do not work for complex arguments.
  1213. X   
  1214. X   The gamma function does not work for complex arguments.
  1215. X--- 2518,2523 ----
  1216. XCommon subdirectories: ./docs/latextut and ../gnuplot3p1/docs/latextut
  1217. XOnly in ../gnuplot3p1/term: ai.trm
  1218. Xdiff -c -r ./term/amiga.trm ../gnuplot3p1/term/amiga.trm
  1219. X*** ./term/amiga.trm    Fri Sep 20 13:31:58 1991
  1220. X--- ../gnuplot3p1/term/amiga.trm    Fri Dec 13 12:58:48 1991
  1221. X***************
  1222. X*** 47,68 ****
  1223. X  #include <intuition/screens.h>
  1224. X  #include <graphics/text.h>
  1225. X  #include <graphics/gfxbase.h>
  1226. X- 
  1227. X- #define OSCAN_TEXT     (1)                   /*                            */
  1228. X- #define SA_Dummy       (TAG_USER + 32)       /* This stuff is temporary    */
  1229. X- #define SA_Overscan    (SA_Dummy + 0x0014)   /* until Aztec C implements   */
  1230. X- #define STDSCREENWIDTH -1                    /* KS/WB 2.0 support.         */
  1231. X- #define TAG_DONE       (0L)                  /*                            */
  1232. X- #define TAG_USER       (1L<<31)              /*                            */
  1233. X-                                              /*                            */
  1234. X- typedef ULONG Tag;                           /*                            */
  1235. X-                                              /*                            */
  1236. X- struct TagItem                               /*                            */
  1237. X-    {                                         /*                            */
  1238. X-    Tag   ti_Tag;                             /*                            */
  1239. X-    ULONG ti_Data;                            /*                            */
  1240. X-    };                                        /*                            */
  1241. X- 
  1242. X  #else
  1243. X  /* You will have to use the Kickstart 2.0 header files for this to compile */
  1244. X  #include <exec/types.h>
  1245. X--- 47,52 ----
  1246. X***************
  1247. X*** 159,165 ****
  1248. X    }
  1249. X    if (IntuitionBase->LibNode.lib_Version <= 34) {
  1250. X      /* We compute the vertical resolution for those poor NTSC-souls   :-)   */
  1251. X!     if (GfxBase->DisplayFlags && PAL) AMIGA_ymax = 512;
  1252. X      else AMIGA_ymax = 400;
  1253. X      AMIGA_xmax = 640;
  1254. X      AMIGA_NewScreen.Width = AMIGA_xmax;
  1255. X--- 143,149 ----
  1256. X    }
  1257. X    if (IntuitionBase->LibNode.lib_Version <= 34) {
  1258. X      /* We compute the vertical resolution for those poor NTSC-souls   :-)   */
  1259. X!     if (GfxBase->DisplayFlags & PAL) AMIGA_ymax = 512;
  1260. X      else AMIGA_ymax = 400;
  1261. X      AMIGA_xmax = 640;
  1262. X      AMIGA_NewScreen.Width = AMIGA_xmax;
  1263. X***************
  1264. X*** 174,187 ****
  1265. X      /* Kickstart 2.0 support */
  1266. X      AMIGA_NewScreen.Width = STDSCREENWIDTH;
  1267. X      AMIGA_NewScreen.Height = STDSCREENHEIGHT;
  1268. X-     /* I had to set TopEdge equal to 1 with my (probably outdated) software */
  1269. X-     /* version of Kickstart 2.0 in order for the last line to be displayed */
  1270. X-     /* correctly. Remove the next two lines and check if it still works */
  1271. X-     /* with newer ROM-versions of Kickstart 2.0 */
  1272. X- #ifdef AMIGA_LC_5_1
  1273. X-     AMIGA_NewScreen.TopEdge = 1;
  1274. X-     AMIGA_NewScreen.LeftEdge = 0;
  1275. X- #endif
  1276. X      AMIGA_Screen = OpenScreenTagList(&AMIGA_NewScreen,AMIGA_ScrTagList);
  1277. X      if (AMIGA_Screen == NULL) {
  1278. X        fprintf(stderr,"No Screen\n");
  1279. X--- 158,163 ----
  1280. Xdiff -c -r ./term/apollo.trm ../gnuplot3p1/term/apollo.trm
  1281. X*** ./term/apollo.trm    Mon Jun  3 11:15:26 1991
  1282. X--- ../gnuplot3p1/term/apollo.trm    Sun Dec  1 15:21:18 1991
  1283. X***************
  1284. X*** 13,18 ****
  1285. X--- 13,19 ----
  1286. X      Ray Lischner (uunet!mntgfx!lisch)
  1287. X      4 October 1989    file created for GNUplot 1.1
  1288. X      26 March 1990    updated for GNUplot 2.0
  1289. X+     30 October 1991    fixed minor problem in apollo_tic_sizes
  1290. X  */
  1291. X  
  1292. X  #include <apollo/base.h>
  1293. X***************
  1294. X*** 148,155 ****
  1295. X      if (tbl->v_tic < APOLLO_VTIC)
  1296. X      tbl->v_tic = APOLLO_VTIC;
  1297. X      tbl->h_tic = tbl->xmax / 50;
  1298. X!     if (tbl->v_tic < APOLLO_HTIC)
  1299. X!     tbl->v_tic = APOLLO_HTIC;
  1300. X  }
  1301. X  
  1302. X  /*
  1303. X--- 149,156 ----
  1304. X      if (tbl->v_tic < APOLLO_VTIC)
  1305. X      tbl->v_tic = APOLLO_VTIC;
  1306. X      tbl->h_tic = tbl->xmax / 50;
  1307. X!     if (tbl->h_tic < APOLLO_HTIC)
  1308. X!     tbl->h_tic = APOLLO_HTIC;
  1309. X  }
  1310. X  
  1311. X  /*
  1312. Xdiff -c -r ./term/hp26.trm ../gnuplot3p1/term/hp26.trm
  1313. X*** ./term/hp26.trm    Mon Mar 26 16:02:34 1990
  1314. X--- ../gnuplot3p1/term/hp26.trm    Sun Dec  1 14:48:28 1991
  1315. X***************
  1316. X*** 107,113 ****
  1317. X  int x, y;
  1318. X  char *str;
  1319. X  {
  1320. X!     HP26_move(x,y - HP26_VCHAR/2);
  1321. X      fputs("\033*dS",outfile);
  1322. X      fprintf(outfile,"\033*m3Q\033*l%s\n",str);
  1323. X      fputs("\033*dT",outfile);
  1324. X--- 107,113 ----
  1325. X  int x, y;
  1326. X  char *str;
  1327. X  {
  1328. X!     HP26_move(x,y + HP26_VCHAR/2);
  1329. X      fputs("\033*dS",outfile);
  1330. X      fprintf(outfile,"\033*m3Q\033*l%s\n",str);
  1331. X      fputs("\033*dT",outfile);
  1332. Xdiff -c -r ./term/hpgl.trm ../gnuplot3p1/term/hpgl.trm
  1333. X*** ./term/hpgl.trm    Sun Aug 25 13:55:04 1991
  1334. X--- ../gnuplot3p1/term/hpgl.trm    Sun Dec  1 14:48:27 1991
  1335. X***************
  1336. X*** 59,64 ****
  1337. X--- 59,79 ----
  1338. X  }
  1339. X  
  1340. X  
  1341. X+ HPLJIII_graphics()
  1342. X+ {
  1343. X+     fprintf(outfile,
  1344. X+     "\033%0B\nIN;\nSC0,%d,0,%d;\nSR%f,%f;\n",
  1345. X+         HPGL_XMAX,HPGL_YMAX,
  1346. X+         ((double)(HPGL_HCHAR)*200/3/HPGL_XMAX),
  1347. X+         ((double)(HPGL_VCHAR)*100/2/HPGL_YMAX) );
  1348. X+ /*     1    2             3 
  1349. X+     1. reset to power-up defaults
  1350. X+     2. set SCaling
  1351. X+     3. set character size
  1352. X+ */
  1353. X+     HPGL_ang = 0;
  1354. X+ }
  1355. X+ 
  1356. X  HPGL_graphics()
  1357. X  {
  1358. X      fprintf(outfile,
  1359. X***************
  1360. X*** 75,80 ****
  1361. X--- 90,106 ----
  1362. X  }
  1363. X  
  1364. X  
  1365. X+ HPLJIII_text()
  1366. X+ {
  1367. X+     fputs("PU;\nSP0;\n\033.Z\0",outfile);
  1368. X+ /*           1    2     3
  1369. X+     1. pen up
  1370. X+     2. park pen
  1371. X+     3. disable eavesdropping
  1372. X+ */
  1373. X+     fputs("\033%0A\033E\n",outfile);
  1374. X+ }
  1375. X+ 
  1376. X  HPGL_text()
  1377. X  {
  1378. X      fputs("PU;\nSP0;\n\033.Z\0",outfile);
  1379. X***************
  1380. X*** 151,155 ****
  1381. X  
  1382. X  HPLJIII_reset()
  1383. X  {
  1384. X!     fputs("\033E\n",outfile);
  1385. X  }
  1386. X--- 177,181 ----
  1387. X  
  1388. X  HPLJIII_reset()
  1389. X  {
  1390. X!     fputs("\033%0A\033E\n",outfile);
  1391. X  }
  1392. Xdiff -c -r ./term/latex.trm ../gnuplot3p1/term/latex.trm
  1393. X*** ./term/latex.trm    Thu Sep  5 11:23:32 1991
  1394. X--- ../gnuplot3p1/term/latex.trm    Sun Dec  1 14:48:29 1991
  1395. X***************
  1396. X*** 128,133 ****
  1397. X--- 128,134 ----
  1398. X      fprintf(outfile, 
  1399. X            "\\ifx\\plotpoint\\undefined\\newsavebox{\\plotpoint}\\fi\n");
  1400. X      LATEX_linetype(-1);
  1401. X+     LATEX_size =0;
  1402. X  }
  1403. X  
  1404. X  
  1405. Xdiff -c -r ./term/post.trm ../gnuplot3p1/term/post.trm
  1406. X*** ./term/post.trm    Fri Aug 30 09:14:06 1991
  1407. X--- ../gnuplot3p1/term/post.trm    Sun Dec  1 14:58:31 1991
  1408. X***************
  1409. X*** 25,36 ****
  1410. X   * send your comments or suggestions to (pixar!info-gnuplot@sun.com).
  1411. X   *
  1412. X   * The 'postscript' driver produces landscape output 10" wide and 7" high.  
  1413. X-  * To get a smaller epsf output use 'set size 0.5,0.5', 
  1414. X-  * 'set term postscript portrait', make only one plot per file
  1415. X-  * and change the first line of the postscript file from
  1416. X-  * '%!PS-Adobe-2.0' to '%!PS-Adobe-2.0 EPSF-2.0'
  1417. X   * To change font to Times-Roman and font size to 20pts use 
  1418. X   * 'set term postscript "Times-Roman" 20'.
  1419. X   */
  1420. X  
  1421. X  
  1422. X--- 25,35 ----
  1423. X   * send your comments or suggestions to (pixar!info-gnuplot@sun.com).
  1424. X   *
  1425. X   * The 'postscript' driver produces landscape output 10" wide and 7" high.  
  1426. X   * To change font to Times-Roman and font size to 20pts use 
  1427. X   * 'set term postscript "Times-Roman" 20'.
  1428. X+  * To get a smaller (5" x 3.5") eps output use 'set term post eps'
  1429. X+  * and make only one plot per file.  Font size for eps will be half
  1430. X+  * the specified size.
  1431. X   */
  1432. X  
  1433. X  
  1434. X***************
  1435. X*** 40,45 ****
  1436. X--- 39,46 ----
  1437. X  int ps_fontsize = 14;                     /* size of font in pts */
  1438. X  BOOLEAN ps_portrait = FALSE;                 /* vertical page */
  1439. X  BOOLEAN ps_color = FALSE;
  1440. X+ BOOLEAN ps_eps = FALSE;    /* Is this for an eps file? */
  1441. X+             /* Added by Robert Davis <davis@ecn.purdue.edu> */
  1442. X  int ps_page=0;            /* page count */
  1443. X  int ps_path_count=0;     /* count of lines in path */
  1444. X  int ps_ang=0;            /* text angle */
  1445. X***************
  1446. X*** 134,150 ****
  1447. X--- 135,161 ----
  1448. X      if (!END_OF_COMMAND) {
  1449. X          if (almost_equals(c_token,"p$ortrait")) {
  1450. X              ps_portrait=TRUE;
  1451. X+              ps_eps=FALSE;
  1452. X              c_token++;
  1453. X          }
  1454. X          else if (almost_equals(c_token,"l$andscape")) {
  1455. X              ps_portrait=FALSE;
  1456. X+              ps_eps=FALSE;
  1457. X              c_token++;
  1458. X          }
  1459. X+          else if (almost_equals(c_token,"e$psf")) {
  1460. X+              ps_portrait=TRUE;
  1461. X+              ps_eps = TRUE;
  1462. X+              c_token++;
  1463. X+          }
  1464. X          else if (almost_equals(c_token,"d$efault")) {
  1465. X              ps_portrait=FALSE;
  1466. X+              ps_eps=FALSE;
  1467. X              ps_color=FALSE;
  1468. X              strcpy(ps_font,"Courier");
  1469. X              ps_fontsize = 14;
  1470. X+             term_tbl[term].v_char = (unsigned int)(ps_fontsize*PS_SC);
  1471. X+             term_tbl[term].h_char = (unsigned int)(ps_fontsize*PS_SC*6/10);
  1472. X              c_token++;
  1473. X          }
  1474. X      }
  1475. X***************
  1476. X*** 169,181 ****
  1477. X          /* We have font size specified */
  1478. X          struct value a;
  1479. X          ps_fontsize = (int)real(const_express(&a));
  1480. X-         c_token++;
  1481. X          term_tbl[term].v_char = (unsigned int)(ps_fontsize*PS_SC);
  1482. X          term_tbl[term].h_char = (unsigned int)(ps_fontsize*PS_SC*6/10);
  1483. X      }
  1484. X  
  1485. X      sprintf(term_options,"%s %s \"%s\" %d",
  1486. X!         ps_portrait ? "portrait" : "landscape",
  1487. X          ps_color ? "color" : "monochrome",ps_font,ps_fontsize);
  1488. X  }
  1489. X  
  1490. X--- 180,191 ----
  1491. X          /* We have font size specified */
  1492. X          struct value a;
  1493. X          ps_fontsize = (int)real(const_express(&a));
  1494. X          term_tbl[term].v_char = (unsigned int)(ps_fontsize*PS_SC);
  1495. X          term_tbl[term].h_char = (unsigned int)(ps_fontsize*PS_SC*6/10);
  1496. X      }
  1497. X  
  1498. X      sprintf(term_options,"%s %s \"%s\" %d",
  1499. X!         ps_eps ? "eps" : (ps_portrait ? "portrait" : "landscape"),
  1500. X          ps_color ? "color" : "monochrome",ps_font,ps_fontsize);
  1501. X  }
  1502. X  
  1503. X***************
  1504. X*** 185,203 ****
  1505. X  struct termentry *t = &term_tbl[term];
  1506. X  int i;
  1507. X      ps_page = 0;
  1508. X!     fprintf(outfile,"%%!PS-Adobe-2.0\n");
  1509. X      fprintf(outfile,"%%%%Creator: gnuplot\n");
  1510. X      fprintf(outfile,"%%%%DocumentFonts: %s\n", ps_font);
  1511. X      fprintf(outfile,"%%%%BoundingBox: %d %d ", PS_XOFF,PS_YOFF);
  1512. X      if (ps_portrait)
  1513. X          fprintf(outfile,"%d %d\n", 
  1514. X!             (int)(xsize*(PS_XMAX)/PS_SC+0.5+PS_XOFF), 
  1515. X!             (int)(ysize*(PS_YMAX)/PS_SC+0.5+PS_YOFF) );
  1516. X      else 
  1517. X          fprintf(outfile,"%d %d\n", 
  1518. X!             (int)(ysize*(PS_YMAX)/PS_SC+0.5+PS_XOFF), 
  1519. X!             (int)(xsize*(PS_XMAX)/PS_SC+0.5+PS_YOFF) );
  1520. X!     fprintf(outfile,"%%%%Pages: (atend)\n");
  1521. X      fprintf(outfile,"%%%%EndComments\n");
  1522. X      fprintf(outfile,"/gnudict 40 dict def\ngnudict begin\n");
  1523. X      fprintf(outfile,"/Color %s def\n",ps_color ? "true" : "false");
  1524. X--- 195,217 ----
  1525. X  struct termentry *t = &term_tbl[term];
  1526. X  int i;
  1527. X      ps_page = 0;
  1528. X!     if (!ps_eps)
  1529. X!         fprintf(outfile,"%%!PS-Adobe-2.0\n");
  1530. X!     else
  1531. X!         fprintf(outfile,"%%!PS-Adobe-2.0 EPSF-2.0\n");
  1532. X      fprintf(outfile,"%%%%Creator: gnuplot\n");
  1533. X      fprintf(outfile,"%%%%DocumentFonts: %s\n", ps_font);
  1534. X      fprintf(outfile,"%%%%BoundingBox: %d %d ", PS_XOFF,PS_YOFF);
  1535. X      if (ps_portrait)
  1536. X          fprintf(outfile,"%d %d\n", 
  1537. X!             (int)(xsize*(ps_eps ? 0.5 : 1.0)*(PS_XMAX)/PS_SC+0.5+PS_XOFF), 
  1538. X!             (int)(ysize*(ps_eps ? 0.5 : 1.0)*(PS_YMAX)/PS_SC+0.5+PS_YOFF) );
  1539. X      else 
  1540. X          fprintf(outfile,"%d %d\n", 
  1541. X!             (int)(ysize*(ps_eps ? 0.5 : 1.0)*(PS_YMAX)/PS_SC+0.5+PS_XOFF), 
  1542. X!             (int)(xsize*(ps_eps ? 0.5 : 1.0)*(PS_XMAX)/PS_SC+0.5+PS_YOFF) );
  1543. X!     if (!ps_eps)
  1544. X!         fprintf(outfile,"%%%%Pages: (atend)\n");
  1545. X      fprintf(outfile,"%%%%EndComments\n");
  1546. X      fprintf(outfile,"/gnudict 40 dict def\ngnudict begin\n");
  1547. X      fprintf(outfile,"/Color %s def\n",ps_color ? "true" : "false");
  1548. X***************
  1549. X*** 217,235 ****
  1550. X  {
  1551. X  struct termentry *t = &term_tbl[term];
  1552. X      ps_page++;
  1553. X!     fprintf(outfile,"%%%%Page: %d %d\n",ps_page,ps_page);
  1554. X      fprintf(outfile,"gnudict begin\n");
  1555. X      fprintf(outfile,"gsave\n");
  1556. X      fprintf(outfile,"%d %d translate\n",PS_XOFF,PS_YOFF);
  1557. X!     if (ps_portrait) {
  1558. X!         fprintf(outfile,"%.3f %.3f scale\n", xsize/PS_SC, ysize/PS_SC);
  1559. X      }
  1560. X-     else {
  1561. X-         fprintf(outfile,"%.3f %.3f scale\n", ysize/PS_SC, xsize/PS_SC);
  1562. X-         fprintf(outfile,"90 rotate\n0 %d translate\n", -PS_YMAX);
  1563. X-     }
  1564. X      fprintf(outfile,"0 setgray\n");
  1565. X!     fprintf(outfile,"/%s findfont %d ", ps_font, (t->v_char) );
  1566. X      fprintf(outfile,"scalefont setfont\n");
  1567. X      fprintf(outfile,"newpath\n");
  1568. X      ps_path_count = 0;
  1569. X--- 231,248 ----
  1570. X  {
  1571. X  struct termentry *t = &term_tbl[term];
  1572. X      ps_page++;
  1573. X!     if (!ps_eps)
  1574. X!         fprintf(outfile,"%%%%Page: %d %d\n",ps_page,ps_page);
  1575. X      fprintf(outfile,"gnudict begin\n");
  1576. X      fprintf(outfile,"gsave\n");
  1577. X      fprintf(outfile,"%d %d translate\n",PS_XOFF,PS_YOFF);
  1578. X!     fprintf(outfile,"%.3f %.3f scale\n", (ps_eps ? 0.5 : 1.0)/PS_SC,
  1579. X!                                          (ps_eps ? 0.5 : 1.0)/PS_SC);
  1580. X!     if (!ps_portrait) {
  1581. X!         fprintf(outfile,"90 rotate\n0 %d translate\n", (int)(-PS_YMAX*ysize));
  1582. X      }
  1583. X      fprintf(outfile,"0 setgray\n");
  1584. X!     fprintf(outfile,"/%s findfont %d ",ps_font, (t->v_char) );
  1585. X      fprintf(outfile,"scalefont setfont\n");
  1586. X      fprintf(outfile,"newpath\n");
  1587. X      ps_path_count = 0;
  1588. X***************
  1589. X*** 246,252 ****
  1590. X  PS_reset()
  1591. X  {
  1592. X      fprintf(outfile,"%%%%Trailer\n");
  1593. X!     fprintf(outfile,"%%%%Pages: %d\n",ps_page);
  1594. X  }
  1595. X  
  1596. X  
  1597. X--- 259,266 ----
  1598. X  PS_reset()
  1599. X  {
  1600. X      fprintf(outfile,"%%%%Trailer\n");
  1601. X!     if (!ps_eps)
  1602. X!         fprintf(outfile,"%%%%Pages: %d\n",ps_page);
  1603. X  }
  1604. X  
  1605. X  
  1606. SHAR_EOF
  1607. chmod 0644 diffs.patch1 ||
  1608. echo 'restore of diffs.patch1 failed'
  1609. Wc_c="`wc -c < 'diffs.patch1'`"
  1610. test 48527 -eq "$Wc_c" ||
  1611.     echo 'diffs.patch1: original size 48527, current size' "$Wc_c"
  1612. fi
  1613. # ============= term/ai.trm ==============
  1614. if test ! -d 'term'; then
  1615.     echo 'x - creating directory term'
  1616.     mkdir 'term'
  1617. fi
  1618. if test -f 'term/ai.trm' -a X"$1" != X"-c"; then
  1619.     echo 'x - skipping term/ai.trm (File already exists)'
  1620. else
  1621. echo 'x - extracting term/ai.trm (Text)'
  1622. sed 's/^X//' << 'SHAR_EOF' > 'term/ai.trm' &&
  1623. X/* GNUPLOT - ai.trm */
  1624. X/*
  1625. X * Copyright (C) 1991   
  1626. X *
  1627. X * Permission to use, copy, and distribute this software and its
  1628. X * documentation for any purpose with or without fee is hereby granted, 
  1629. X * provided that the above copyright notice appear in all copies and 
  1630. X * that both that copyright notice and this permission notice appear 
  1631. X * in supporting documentation.
  1632. X *
  1633. X * Permission to modify the software is granted, but not the right to
  1634. X * distribute the modified code.  Modifications are to be distributed 
  1635. X * as patches to released version.
  1636. X *  
  1637. X * This software  is provided "as is" without express or implied warranty.
  1638. X * 
  1639. X * This file is included by ../term.c.
  1640. X *
  1641. X * This terminal driver supports:
  1642. X *     aifm
  1643. X *
  1644. X * AUTHORS
  1645. X *  Ray Ghanbari
  1646. X * 
  1647. X * send your comments or suggestions to (pixar!info-gnuplot@sun.com).
  1648. X *
  1649. X * The 'aifm' driver produces files editable by Adobe Illustrator 3.0
  1650. X * To change font to Courier and font size to 20pts use 
  1651. X * 'set term aifm "Courier" 20'.
  1652. X * To switch to color output use
  1653. X * 'set term aifm color'.
  1654. X */
  1655. X
  1656. X
  1657. X/* AIFM driver by Ray Ghanbari, ray@mtl.mit.edu, 
  1658. X *    based on PostScript driver by Russell Lang, rjl@monu1.cc.monash.edu.au */
  1659. X
  1660. Xchar ai_font[MAX_ID_LEN+1] = "Times-Roman" ; /* name of font */
  1661. Xint ai_fontsize = 14;                     /* size of font in pts */
  1662. XBOOLEAN ai_color = FALSE;
  1663. XBOOLEAN ai_stroke = FALSE;
  1664. Xint ai_page=0;            /* page count */
  1665. Xint ai_path_count=0;     /* count of lines in path */
  1666. Xint ai_ang=0;            /* text angle */
  1667. Xenum JUSTIFY ai_justify=LEFT;    /* text is flush left */
  1668. X
  1669. X
  1670. X#define AI_XOFF    50    /* page offset in pts */
  1671. X#define AI_YOFF    50
  1672. X
  1673. X#define AI_XMAX 5000
  1674. X#define AI_YMAX 3500
  1675. X
  1676. X#define AI_XLAST (AI_XMAX - 1)
  1677. X#define AI_YLAST (AI_YMAX - 1)
  1678. X
  1679. X#define AI_VTIC (AI_YMAX/80)
  1680. X#define AI_HTIC (AI_YMAX/80)
  1681. X
  1682. X#define AI_SC (10.0)                /* scale is 1pt = 10 units */
  1683. X#define AI_LW (0.5*AI_SC)        /* linewidth = 0.5 pts */
  1684. X
  1685. X#define AI_VCHAR (14*AI_SC)        /* default is 14 point characters */
  1686. X#define AI_HCHAR (14*AI_SC*6/10)
  1687. X
  1688. X
  1689. XAI_options()
  1690. X{
  1691. X    extern struct value *const_express();
  1692. X    extern double real();
  1693. X
  1694. X    if (!END_OF_COMMAND) {
  1695. X        if (almost_equals(c_token,"d$efault")) {
  1696. X            ai_color=FALSE;
  1697. X            strcpy(ai_font,"Times-Roman");
  1698. X            ai_fontsize = 14;
  1699. X            c_token++;
  1700. X        }
  1701. X    }
  1702. X
  1703. X    if (!END_OF_COMMAND) {
  1704. X        if (almost_equals(c_token,"m$onochrome")) {
  1705. X            ai_color=FALSE;
  1706. X            c_token++;
  1707. X        }
  1708. X        else if (almost_equals(c_token,"c$olor")) {
  1709. X            ai_color=TRUE;
  1710. X            c_token++;
  1711. X        }
  1712. X    }
  1713. X
  1714. X    if (!END_OF_COMMAND && isstring(c_token)) {
  1715. X        quote_str(ai_font,c_token);
  1716. X        c_token++;
  1717. X    }
  1718. X
  1719. X    if (!END_OF_COMMAND) {
  1720. X        /* We have font size specified */
  1721. X        struct value a;
  1722. X        ai_fontsize = (int)real(const_express(&a));
  1723. X        c_token++;
  1724. X        term_tbl[term].v_char = (unsigned int)(ai_fontsize*AI_SC);
  1725. X        term_tbl[term].h_char = (unsigned int)(ai_fontsize*AI_SC*6/10);
  1726. X    }
  1727. X
  1728. X    sprintf(term_options,"%s \"%s\" %d",
  1729. X        ai_color ? "color" : "monochrome",ai_font,ai_fontsize);
  1730. X}
  1731. X
  1732. X
  1733. XAI_init()
  1734. X{
  1735. Xstruct termentry *t = &term_tbl[term];
  1736. Xint i;
  1737. X    ai_page = 0;
  1738. X    fprintf(outfile,"%%!PS-Adobe-2.0 EPSF-1.2\n");
  1739. X    fprintf(outfile,"%%%%BoundingBox: %d %d %d %d\n", AI_XOFF,AI_YOFF,
  1740. X        (int)((AI_XMAX)/AI_SC+0.5+AI_XOFF), 
  1741. X        (int)((AI_YMAX)/AI_SC+0.5+AI_YOFF) );
  1742. X    fprintf(outfile,"%%%%Template:\n");
  1743. X    fprintf(outfile,"%%%%EndComments\n");
  1744. X    fprintf(outfile,"%%%%EndProlog\n");
  1745. X}
  1746. X
  1747. X
  1748. XAI_graphics()
  1749. X{
  1750. Xstruct termentry *t = &term_tbl[term];
  1751. X    ai_page++;
  1752. X/*    fprintf(outfile,"%%%%Page: %d %d\n",ai_page,ai_page);*/
  1753. X    fprintf(outfile,"0 G\n");
  1754. X    fprintf(outfile,"1 j\n");
  1755. X    fprintf(outfile,"1 J\n");
  1756. X    fprintf(outfile,"u\n");
  1757. X    ai_path_count = 0;
  1758. X    ai_stroke = FALSE;
  1759. X}
  1760. X
  1761. X
  1762. XAI_text()
  1763. X{
  1764. X    if (ai_stroke) {
  1765. X        fprintf(outfile,"S\n");
  1766. X        ai_stroke = FALSE;
  1767. X    }
  1768. X    fprintf(outfile,"U\n");
  1769. X    ai_path_count = 0;
  1770. X}
  1771. X
  1772. X
  1773. XAI_reset()
  1774. X{
  1775. X    fprintf(outfile,"%%%%Trailer\n");
  1776. X/*    fprintf(outfile,"%%%%Pages: %d\n",ai_page);*/
  1777. X}
  1778. X
  1779. X
  1780. XAI_linetype(linetype)
  1781. Xint linetype;
  1782. X{
  1783. X    if (ai_stroke) {
  1784. X        fprintf(outfile,"S\n");
  1785. X        ai_stroke = FALSE;
  1786. X    }
  1787. X    switch(linetype) {
  1788. X        case -2 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC*2.0);
  1789. X                if (ai_color) {
  1790. X                    fprintf(outfile,"0 0 0 1 K\n");
  1791. X                }
  1792. X                else {                
  1793. X                    fprintf(outfile,"[] 0 d\n");
  1794. X                }
  1795. X                break;
  1796. X                
  1797. X        case -1 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC/2.0);
  1798. X                if (ai_color) {
  1799. X                    fprintf(outfile,"0 0 0 1 K\n");
  1800. X                }
  1801. X                else {                
  1802. X                    fprintf(outfile,"[1 2] 0 d\n");
  1803. X                }
  1804. X                break;
  1805. X                
  1806. X        case 0 :  fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
  1807. X                if (ai_color) {
  1808. X                    fprintf(outfile,"1 0 1 0 K\n");
  1809. X                }
  1810. X                else {                
  1811. X                    fprintf(outfile,"[] 0 d\n");
  1812. X                }
  1813. X                break;
  1814. X                
  1815. X        case 1 :  fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
  1816. X                if (ai_color) {
  1817. X                    fprintf(outfile,"1 1 0 0 K\n");
  1818. X                }
  1819. X                else {                
  1820. X                    fprintf(outfile,"[4 2] 0 d\n");
  1821. X                }
  1822. X                break;
  1823. X                
  1824. X        case 2 :  fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
  1825. X                if (ai_color) {
  1826. X                    fprintf(outfile,"0 1 1 0 K\n");
  1827. X                }
  1828. X                else {                
  1829. X                    fprintf(outfile,"[2 3] 0 d\n");
  1830. X                }
  1831. X                break;
  1832. X                
  1833. X        case 3 :  fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
  1834. X                if (ai_color) {
  1835. X                    fprintf(outfile,"0 1 0 0 K\n");
  1836. X                }
  1837. X                else {                
  1838. X                    fprintf(outfile,"[1 1.5] 0 d\n");
  1839. X                }
  1840. X                break;
  1841. X                
  1842. X        case 4 :  fprintf(outfile,"%f w\n",AI_LW/AI_SC);
  1843. X                if (ai_color) {
  1844. X                    fprintf(outfile,"1 0 0 0 K\n");
  1845. X                }
  1846. X                else {                
  1847. X                    fprintf(outfile,"[5 2 1 2] 0 d\n");
  1848. X                }
  1849. X                break;
  1850. X                
  1851. X        case 5 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
  1852. X                if (ai_color) {
  1853. X                    fprintf(outfile,"0 0 1 0 K\n");
  1854. X                }
  1855. X                else {                
  1856. X                    fprintf(outfile,"[4 3 1 3] 0 d\n");
  1857. X                }
  1858. X                break;
  1859. X                
  1860. X        case 6 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
  1861. X                if (ai_color) {
  1862. X                    fprintf(outfile,"0 0 0 1 K\n");
  1863. X                }
  1864. X                else {                
  1865. X                    fprintf(outfile,"[2 2 2 4] 0 d\n");
  1866. X                }
  1867. X                break;
  1868. X                
  1869. X        case 7 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
  1870. X                if (ai_color) {
  1871. X                    fprintf(outfile,"0 0.7 1 0 K\n");
  1872. X                }
  1873. X                else {                
  1874. X                    fprintf(outfile,"[2 2 2 2 2 4] 0 d\n");
  1875. X                }
  1876. X                break;
  1877. X                
  1878. X        case 8 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
  1879. X                if (ai_color) {
  1880. X                    fprintf(outfile,"0.5 0.5 0.5 0 K\n");
  1881. X                }
  1882. X                else {                
  1883. X                    fprintf(outfile,"[2 2 2 2 2 2 2 4] 0 d\n");
  1884. X                }
  1885. X                break;
  1886. X        }
  1887. X                
  1888. X    ai_path_count = 0;
  1889. X}
  1890. X
  1891. X
  1892. XAI_move(x,y)
  1893. Xunsigned int x,y;
  1894. X{
  1895. X    if (ai_stroke) fprintf(outfile,"S\n");
  1896. X    fprintf(outfile,"%.2f %.2f m\n", x/AI_SC, y/AI_SC);
  1897. X    ai_path_count += 1;
  1898. X    ai_stroke = TRUE;
  1899. X}
  1900. X
  1901. X
  1902. XAI_vector(x,y)
  1903. Xunsigned int x,y;
  1904. X{
  1905. X    fprintf(outfile,"%.2f %.2f l\n", x/AI_SC, y/AI_SC);
  1906. X    ai_path_count += 1;
  1907. X    ai_stroke = TRUE;
  1908. X    if (ai_path_count >= 400) {
  1909. X        fprintf(outfile,"S\n%.2f %.2f m\n",x/AI_SC,y/AI_SC);
  1910. X        ai_path_count = 0;
  1911. X    }
  1912. X}
  1913. X
  1914. X
  1915. XAI_put_text(x,y,str)
  1916. Xunsigned int x, y;
  1917. Xchar *str;
  1918. X{
  1919. Xchar ch;
  1920. X    if (ai_stroke) {
  1921. X        fprintf(outfile,"S\n");
  1922. X        ai_stroke = FALSE;
  1923. X    }
  1924. X    switch(ai_justify) {
  1925. X        case LEFT :   fprintf(outfile,"/_%s %d 0 0 0 z\n",ai_font,ai_fontsize);
  1926. X            break;
  1927. X        case CENTRE : fprintf(outfile,"/_%s %d 0 0 1 z\n",ai_font,ai_fontsize);
  1928. X            break;
  1929. X        case RIGHT :  fprintf(outfile,"/_%s %d 0 0 2 z\n",ai_font,ai_fontsize);
  1930. X            break;
  1931. X    }
  1932. X    if (ai_ang==0) {
  1933. X        fprintf(outfile,"[ 1 0 0 1 %.2f %.2f] e\n",
  1934. X            x/AI_SC,y/AI_SC - ai_fontsize/3.0);
  1935. X    }
  1936. X    else {
  1937. X        fprintf(outfile,"[ 0 1 -1 0 %.2f %.2f] e\n",
  1938. X            x/AI_SC - ai_fontsize/3.0,y/AI_SC);
  1939. X    }
  1940. X        
  1941. X    putc('(',outfile);
  1942. X    ch = *str++;
  1943. X    while(ch!='\0') {
  1944. X        if ( (ch=='(') || (ch==')') || (ch=='\\') )
  1945. X            putc('\\',outfile);
  1946. X        putc(ch,outfile);
  1947. X        ch = *str++;
  1948. X    }
  1949. X    fprintf(outfile,") t\nT\n");
  1950. X    ai_path_count = 0;
  1951. X}
  1952. X
  1953. Xint AI_text_angle(ang)
  1954. Xint ang;
  1955. X{
  1956. X    ai_ang=ang;
  1957. X    return TRUE;
  1958. X}
  1959. X
  1960. Xint AI_justify_text(mode)
  1961. Xenum JUSTIFY mode;
  1962. X{
  1963. X    ai_justify=mode;
  1964. X    return TRUE;
  1965. X}
  1966. X
  1967. SHAR_EOF
  1968. chmod 0644 term/ai.trm ||
  1969. echo 'restore of term/ai.trm failed'
  1970. Wc_c="`wc -c < 'term/ai.trm'`"
  1971. test 7407 -eq "$Wc_c" ||
  1972.     echo 'term/ai.trm: original size 7407, current size' "$Wc_c"
  1973. fi
  1974. exit 0
  1975.  
  1976. exit 0 # Just in case...
  1977.